package com.AAL.DAO.Interface;

import java.sql.Date;
import java.util.List;

import com.AAL.Model.ActionOnStock;
import com.AAL.Model.LogForStock;
import com.AAL.Model.OrderInvoice;
import com.AAL.Model.PurchaseInvoice;
import com.AAL.Model.TransferingRequest;
import com.AAL.Model.WareHouse;

public interface ILogForStockDAO {
	public LogForStock saveAndUpdateLogForStock (LogForStock logForStock);
	public LogForStock deleteLogForStock(int logForStockID);
	public LogForStock getLogForStock (int logForStockID);
	/*
	 * Lay cac luu tru theo kho tu ngay nao den ngay nao`
	 */
	public List<LogForStock> getLstLogForStockByWarehouse(WareHouse warehouse, Date fromDate, Date toDate);
	/*
	 * Lay cac luu tru theo kho tu ngay nao den ngay nao` theo cac tuy chon nhap hay xuat 
	 */
	public List<LogForStock> getLstLogForStockByWarehouse(WareHouse warehouse, Date fromDate, Date toDate, ActionOnStock action);
	/*
	 * Lay cac luu tru tu cac hoa don mua hang hay cac phieu dieu hang cua ban dieu phoi
	 */	
	public List<LogForStock> getLstLogForStock( OrderInvoice orderInvoice, PurchaseInvoice purchaseInvoice, TransferingRequest transferingRequest);
	//Phat luu cung luc 3 phieu dieu phoi
	public List<LogForStock> saveAndUpdateLogForStockArray (List<LogForStock> listLogForStocksSave);
}
